In MPLS networks, data packets are labelled with an MPLS header indicating the path over which the packet should traverse. Rather than looking up a packet route in the routing table using IP addresses, the MPLS-labelled packets are switched upon determining the contents of the MPLS label. In other words, addresses within the header of an IP data packet are only examined once to extract the destination (and possibly other attributes) of this packet. Then a label is generated which codes the respective tunnel to the extracted destination. On each subsequent hop through the network, only the label is evaluated to determine the next hop.
MPLS label bindings need to be distributed among each of the routers taking part in an MPLS network, so that each router will know which label is bound to which route. In order to do so automatically, typically layer 3 protocols like the Label Distribution Protocol (LDP), the Resource Reservation Protocol (RSVP) or the Border Gateway Protocol (BGP) are used to exchange label bindings among the network nodes. For static configuration models, labels will have to be distributed manually or via a Network Management System, both of which increase overheads within the network both in terms of equipment and signalling complexity. Deploying a control plane in an access network with an explosion of edge devices is acknowledged by many as a potential scaling problem.